Публикации с тэгом "Method overriding"

ОФФТОП Может ли метод или свойство быть помеченным как abstract и override одновременно?

Первый ответ: "конечно же нет". Но, оказывается такой вариант возможен. Рассмотрим такую ситуацию: есть некий класс, который содержит свойство, которое по умолчанию возвращает пустую строку и помеченное как virtual: abstract class Thingy { public virtual string Name { get { return ""; } } } Нам необходимо создавать большое количество наследников Thingy, которые будут иметь пустные имена. Но нам также необходимо иметь коллекцию классов с непустыми именами. И мы хотим быть уверенными, что разработ...

Популярная публикация: серебро СТАТЬЯ C#: разница между new и override

Сказать по правде я долго над этим не задумывался. Нет, я знал что в C# существует модификатор new и что он скрывает реализацию членов базового класса, также он может менять модификаторы доступа (о чем я со временем забыл). Т.е. если в базовом классе, например, метод определен как публичный, используя модификатор new в наследнике – можно сделать его приватным. Но на практике я никогда не использовал этот модификатор. Почему? Потому что его использование мне кажется говорит о том, что с кодом что...

СТАТЬЯ Сравниваешь по Equals подразумеваешь GetHashCode

В FxCop есть такое правило Override GetHashCode on overriding Equals, переопределяйте GetHashCode переопределяя Equals. Так вот с этим правилом связан подводный камень. В Rule Description там написано об этом но как на мой взгляд не совсем ясно. Это связано с принципом работы  HashTable и Dictionary в .NET, и для того чтобы сравнение производилось верно при переопределении Equals необходимо обязательно переопределить GetHashCode в зависимости от тех данных которые учувствуют в сравнении. Иначе E...

Популярная публикация: серебро СТАТЬЯ C#: вопросы с собеседования. Часть 1

Name ten c# keywords Зарезервированные слова – это слова, которые имеют некоторое значения для компилятора, по этой причине их нельзя использовать в качестве имен переменных, методов, классов и т.д.Список зарезервированных слов: abstract event new struct as explicit null switch base extern object this bool false operator throw break finally out true byte fixed override try case float params typeof catch for private uint char foreach protected ulong checked goto public unchecked class if readonly...

СТАТЬЯ Практика: Templated User Control

Всі знають, що таке User Control. В свій час мені дуже потрібно було зробити контрол, дизайн якого можна було б потім змінювати під свої потреби без рекомпіляції і надмірних хвилювань. Так як це зроблено в UpdateProgress, TabControl і інших контролах. Саме для таких цілей існує templated user control, про який я хочу розповісти. На перший погляд потрібно зробити багато дій, проте зробивши один раз, в подальшому проблем бути не повинно. ТЗ: розробити templated user control для виведення інформаці...

<1>

Ищите нас в интернетах!

Комментарии

Свежие вакансии